#ifndef SYSROOT_VALUES_H_
#define SYSROOT_VALUES_H_

#include <limits.h>

#define CHARBITS (sizeof(char) * 8)
#define SHORTBITS (sizeof(short) * 8)
#define INTBITS (sizeof(int) * 8)
#define LONGBITS (sizeof(long) * 8)
#define PTRBITS (sizeof(char*) * 8)
#define DOUBLEBITS (sizeof(double) * 8)
#define FLOATBITS (sizeof(float) * 8)

#define MINSHORT SHRT_MIN
#define MININT INT_MIN
#define MINLONG LONG_MIN

#define MAXSHORT SHRT_MAX
#define MAXINT INT_MAX
#define MAXLONG LONG_MAX

#define HIBITS MINSHORT
#define HIBITL MINLONG

#include <float.h>

#define MAXDOUBLE DBL_MAX
#undef MAXFLOAT
#define MAXFLOAT FLT_MAX
#define MINDOUBLE DBL_MIN
#define MINFLOAT FLT_MIN
#define DMINEXP DBL_MIN_EXP
#define FMINEXP FLT_MIN_EXP
#define DMAXEXP DBL_MAX_EXP
#define FMAXEXP FLT_MAX_EXP

#define BITSPERBYTE CHAR_BIT

#endif  // SYSROOT_VALUES_H_
